package com.labichaoka.chaoka.ui.bank.bind;

import com.labichaoka.chaoka.entity.BankInfoDtoResponse;
import com.labichaoka.chaoka.entity.BaseResponse;
import com.labichaoka.chaoka.entity.BindBankRequest;
import com.labichaoka.chaoka.entity.GetBankSmsRequest;
import com.labichaoka.chaoka.entity.IDCardResponse;
import com.labichaoka.chaoka.entity.SwitchCardResponse;

/**
 * Created by ruan on 2018/8/8.
 */

public interface BankBindInteractor {
    interface OnFinishedListener{
        void onGetSmsCodeSuccessed();
        void onGetSmsCodeFailed();

        void onBindCardSuccessed(BaseResponse response);
        void onBindCardFailed();

        void onGetIDCardNameSuccessed(IDCardResponse response);
        void onGetIDCardNameFailed();

        void onGetBankCardListSuccessed(BankInfoDtoResponse response);
        void onGetBankCardListFailed();

        void onBindCardVailSucc(BaseResponse response);
        void onBindCardVailFailed();

        void onScrdSwitchCardSucc(SwitchCardResponse response);
        void onScrdSwitchCardFailed();

        void onSubmitSwitchCardSucc(SwitchCardResponse response);
        void onSubmitSwitchCardFailed();
    }

    void getSmsCode(GetBankSmsRequest request, OnFinishedListener listener);
    void bindCard(GetBankSmsRequest request, OnFinishedListener listener);
    void bindCardVail(BindBankRequest request, OnFinishedListener listener);
    void getIdCardName(OnFinishedListener listener);
    void getBankCardList(OnFinishedListener listener);
    void behavior(String actionNode);

    void scrdSwitchCard(GetBankSmsRequest request,OnFinishedListener listener);
    void submitSwitchCard(BindBankRequest request,OnFinishedListener listener);
}
